package com.continuing.beef.utils;

import com.continuing.common.core.domain.entity.SysDept;
import com.continuing.common.utils.StringUtils;

import java.util.HashMap;
import java.util.Map;


public class DomainUtils {


    /**
     * 给实体类SysDept赋值
     *
     * @param deptId       部门代码
     * @param isFirm       是否为公司级别
     * @param isClientDept 是否为客户部门 0 不是 1 是
     * @param parentId     父部门ID
     * @return 赋值后的实体类 Long deptId, String isFirm
     */
    public static SysDept setValueToSysDept(Long deptId, String isFirm, String isClientDept, Long parentId) {
        Map<String, String> param = new HashMap<>();
        param.put("deptId", String.valueOf(deptId));
        param.put("isFirm", isFirm);
        param.put("isClientDept", isClientDept);
        param.put("parentId", String.valueOf(parentId));
        return setValueToSysDept(param);
    }

    /**
     * 给实体类SysDept赋值
     *
     * @param deptId 部门代码
     * @param isFirm 是否为公司级别
     * @return 赋值后的实体类 Long deptId, String isFirm
     */
    public static SysDept setValueToSysDept(Long deptId, String isFirm) {
        Map<String, String> param = new HashMap<>();
        param.put("deptId", String.valueOf(deptId));
        param.put("isFirm", isFirm);
        return setValueToSysDept(param);
    }


    /**
     * 给实体类SysDept赋值
     *
     * @param param{ deptId 部门代码
     *               isFirm 是否为公司级别
     *               }
     * @return 赋值后的实体类
     */
    public static SysDept setValueToSysDept(Map<String, String> param) {
        SysDept sysDept = new SysDept();

        if (StringUtils.isNotEmpty(param.get("deptId"))) {
            sysDept.setDeptId(Long.parseLong(param.get("deptId")));
        }

        if (StringUtils.isNotEmpty(param.get("parentId"))) {
            sysDept.setParentId(Long.parseLong(param.get("parentId")));
        }

        if (StringUtils.isNotEmpty(param.get("isFirm"))) {
            sysDept.setIsFirm(param.get("isFirm"));
        }

        if (StringUtils.isNotEmpty(param.get("isClientDept"))) {
            sysDept.setIsClientDept(param.get("isClientDept"));
        }


        return sysDept;
    }


}
